Use , Disuse , and Misuse of Automated Refactorings ( Extended
نویسندگان
چکیده
Though refactoring tools have been available for more than a decade, research has shown that programmers underutilize such tools. However, little is known about why programmers do not take advantage of these tools. We have conducted a field study on programmers in their natural settings working on their code. As a result, we collected a set of interaction data from about 1268 hours of programming using our minimally intrusive data collectors. Our quantitative data show that programmers prefer lightweight methods of invoking refactorings, usually perform small changes using the refactoring tool, proceed with an automated refactoring even when it may change the behavior of the program, and rarely preview the automated refactorings. We also interviewed nine of our participants to provide deeper insight about the patterns that we observed in the behavioral data. We found that programmers use predictable automated refactorings even if they have rare bugs or change the behavior of the program. This paper reports some of the factors that affect the use of automated refactorings such as invocation method, awareness, naming, trust, and predictability and the major mismatches between programmers’ expectations and automated refactorings. The results of this work contribute to producing more effective tools for refactoring complex software. Keywords-Software engineering; Software maintenance; Programming environments; Human factors; User interfaces; Human computer interaction;
منابع مشابه
Design and Implementation of an Automated Dispensing Device for Reducing Methadone Therapy Misuse
Introduction: A variety of (deliberate or inaccurate) errors in drug rehabilitation clinics may occur due to use of addictive drugs. Automated drug distribution systems play a significant role in reducing drug medication errors. Method: Firstly, according to the addiction rehabilitation centers requests, the design and construction of the device was performed. The prototype systems were examin...
متن کاملAutomation Usage Decisions: Controlling Intent and Appraisal Errors in a Target Detection Task
BACKGROUND It was proposed that misuse and disuse often occur because operators (a) cannot determine if automation or a nonautomated alternative maximizes the likelihood of task success (appraisal errors) or (b) know the utilities of the options but disregard this information when deciding to use automation (intent errors). OBJECTIVE This investigation assessed the effectiveness of performanc...
متن کاملA Comparative Study of Manual and Automated Refactorings
Despite the enormous success that manual and automated refactoring has enjoyed during the last decade, we know little about the practice of refactoring. Understanding the refactoring practice is important for developers, refactoring tool builders, and researchers. Many previous approaches to study refactorings are based on comparing code snapshots, which is imprecise, incomplete, and does not a...
متن کاملEffects of Human-Machine Competition on Intent Errors in a Target Detection Task
OBJECTIVE This investigation examined the impact of human-machine competition (John Henry effects) on intent errors. John Henry effects, expressed as an unwillingness to use automation, were hypothesized to increase as a function of operators' personal investment in unaided performance. BACKGROUND Misuse and disuse often occur because operators (a) cannot determine if automation or a nonautom...
متن کاملUsing Continuous Code Change Analysis to Understand the Practice of Refactoring
Despite the enormous success that manual and automated refactoring has enjoyed during the last decade, we know little about the practice of refactoring. Understanding the refactoring practice is important for developers, refactoring tool builders, and researchers. Many previous approaches to study refactorings are based on comparing code snapshots, which is imprecise, incomplete, and does not a...
متن کامل